package lanqiao._02算法训练.page03;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.StringTokenizer;

/**
 * @author 挚爱之夕
 * @version 1.0
 * @implSpec 问题描述
 * 　　腿铮找2255有点事，但2255太丑了，所以腿铮不知道他的长相。正愁不知道到如何找他的时候，他突然看见计33班围成了一个圈在领微积分试卷。计33班有n个人，其中班长编号为0，其余同学依次按顺时针方向编号。
 * 　　只听见计33小导说“x号同学顺时针方向往后数的第k个的神犇出列（不包括x号同学），领取满分试卷！”。剩下的人继续围成一个小圈。这样一个过程持续了n-1次，那么显然，最后只剩下了一个人。众所周知，2255是个大傻子，门门挂科，不符合满分试卷这一前提条件。通过这样一个过程，腿铮终于找到了2255并血虐了他。
 * 　　求2255的编号是多少。
 * 输入格式
 * 　　第一行一个n，表示计33班的人数。
 * 　　接下来n-1行，表示小导说话中的x和k。
 * 输出格式
 * 　　一个数字，表示2255的编号。
 * 样例输入
 * 3
 * 1 1
 * 0 1
 * 样例输出
 * 0
 * 数据规模和约定
 * 　　前90%数据保证n<=10^4.
 * 　　前100%数据保证n<=10^6，1<=k<min(当时圈中人数,1000)
 *
 * 思路：
 * 1.快速输入流
 * 2.这个题目，还以为要用List模拟一下，没想到...
 * @since 2023 - 01 - 02 - 16:42
 */
public class _30唯一的傻子 {
}
// 最后输入的x就是答案
class Main_30_1 {
    public static void main(String[] args) throws IOException {
        Reader sc = new Reader();
        int n = sc.nextInt();
        for (int i = 0; i < n - 1; i++) {
            int x = sc.nextInt();
            int y = sc.nextInt();
            if (i == n - 2) {
                System.out.println(x);
            }
        }
    }

    /**
     * 快速输入类
     */
    static class Reader {
        static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        static StringTokenizer tokenizer = new StringTokenizer("");

        /**
         * 获取下一段文本
         */
        static String next() throws IOException {
            if (!tokenizer.hasMoreTokens()) {
                tokenizer = new StringTokenizer(reader.readLine());
            }
            return tokenizer.nextToken();
        }

        static int nextInt() throws IOException {
            return Integer.parseInt(next());
        }

        static double nextDouble() throws IOException {
            return Double.parseDouble(next());
        }
    }
}

//ArrayList 模拟
//有一个用例超时了 要用快速输入流
class Main_30 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        List<Integer> table = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            table.add(i);
        }
        int x, k, index;
        for (int i = 0; i < n - 1; i++) {
            x = sc.nextInt();
            k = sc.nextInt();
            index = find(x, table);
            index = (index + k) % table.size();
            table.remove(index);
        }
        System.out.println(table.get(0));
    }

    static int find1(int no, List<Integer> table) {
        for (int i = 0; i < table.size(); i++) {
            if (table.get(i) == no) return i;
        }
        return -1;
    }

    //二分
    static int find(int no, List<Integer> table) {
        int left = 0, right = table.size() - 1;
        while (left <= right) {
            int mid = ((right - left) >> 1) + left;
            if (table.get(mid) == no) {
                return mid;
            } else if (table.get(mid) > no) {
                right = mid - 1;
            } else {
                left = mid + 1;
            }
        }
        return -1;
    }
}